blog[freezed]

Typage en python, état de l'art et nouveautés

dans Bloc-notes

Par Christophe Papazian

Typage en python : état de l'art et nouveautés

logo PyConFr Lyon 2026

Salle MARI/SUGGAR - samedi 31 octobre 2026 à 15:30 - 25 min

Le typage en Python a énormément mûri ces dernières années.

Ce qui n'était au départ qu'une simple aide pour les éditeurs de code est devenu un vrai levier de fiabilité, de documentation et de sérénité lors des refactorings. L'objectif de cette présentation est de montrer que le système de types de Python est à la fois utile et étonnamment puissant, tout en restant conscient de ses limites, car il demeure optionnel, parfois verbeux et incapable de tout garantir à l'exécution.

Côté outillage, l'écosystème est riche, avec des vérificateurs comme mypy et pyright, rejoints par une nouvelle génération d'outils ultra rapides écrits en Rust, comme ty et pyrefly.

Le langage lui même n'a cessé de progresser : la 3.10 a apporté les unions avec la barre verticale, la 3.11 le type Self et les génériques variadiques, et la 3.12 une syntaxe bien plus naturelle pour les génériques et les alias de type, ainsi que le décorateur override qui fiabilise l'héritage. Avec la 3.13 sont arrivés TypeIs et les valeurs par défaut pour les paramètres de type. La grande nouveauté de Python 3.14, c'est l'évaluation différée des annotations qui devient enfin le comportement par défaut, accompagnée du module annotationlib pour les inspecter proprement. Python 3.15 enrichit encore la boîte à outils avec TypeForm, les TypedDict fermés ou dotés d'éléments supplémentaires typés, et les bases disjointes pour mieux modéliser les hiérarchies.

Nous explorerons ces avancées, parmi d'autres présentées au fil de l'exposé, pour voir comment tirer le meilleur d'un système de types devenu puissant et agréable, sans jamais oublier ce qu'il ne sait pas encore faire.


Suppport de présentation

Notes personnelles :

  • Faut typer, c'est bien (-:
  • C'est quoi le mode --strict?
    • c'est un paramètre mypy
  • zuban est un outils intéressant pour le typage
  • Comment convertir une base de code non-typée vers du côde typé
    • pyrefly permet ça (mais je ne l'ai pas expérimenté)